prepare for deprecation of qmake. (#920)
authortsteven4 <13596209+tsteven4@users.noreply.github.com>
Fri, 23 Sep 2022 12:46:08 +0000 (06:46 -0600)
committerGitHub <noreply@github.com>
Fri, 23 Sep 2022 12:46:08 +0000 (06:46 -0600)
commiteecd86bd1fd1df801a97ec37650c68e60a4b24d6
tree19e5b89711df8a50ee4bec9e32d689cdcd1a16a8
parentd154132afec5a6c4d58da62d901c4e426d4b6ccb
prepare for deprecation of qmake. (#920)

* prepare for deprecation of qmake.

build a release level package in CI with cmake on windows & macOS.
this can be compared with the release package build in CI with qmake.

support cmake multi-config generators on macOS (e.g. Xcode) as well
as well as single-config generators (.e.g Unix Makefiles, Ninja).

support packaging of out of source builds on macOS when using cmake.
note that Qt6 support for packaging still has many features in
preview, thus we still use our script based packaging.

move some Ubuntu CI jobs to jammy.  Unfortunately Qt6WebEngine is
unusable on jammy due to a bug in qt6-base.  So we are still using
Qt5 :(
https://bugs.launchpad.net/ubuntu/+source/qt6-base/+bug/1970057

* isolate qmake and cmake flows for windows.

add on on demand CI workflow for esoteric windows cases.

* use qt tools from cmake prefix, add gpsbabel translation support.

* fix coretool on windows.

add qt binary directory to environment so coretool can find the
Qt DLLs.

* catch coretool cmake up with #921.

* update packaging dependencies
15 files changed:
.github/workflows/macos.yml
.github/workflows/ubuntu.yml
.github/workflows/windows.yml
.github/workflows/windows_ondemand.yml [new file with mode: 0644]
gui/CMakeLists.txt
gui/app.pro
gui/coretool/CMakeLists.txt [new file with mode: 0644]
gui/coretool/coretool.cmake [new file with mode: 0644]
gui/package_app
gui/setup.iss.in
gui/setup.iss.qmake.in
tools/Dockerfile_jammy [new file with mode: 0644]
tools/ci_script_osx.sh [new file with mode: 0755]
tools/ci_script_windows.ps1 [new file with mode: 0755]
tools/make_windows_release.ps1